🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / core / ui / src / commonMain / kotlin / org / meshtastic / core / ui / theme / Theme.kt
Displaying Raw • Download
core/ui/src/commonMain/kotlin/org/meshtastic/core/ui/theme/Theme.kt 2d20cd8a4708e2ef66e98d5259f3a97ec93f240a (2d20cd8a) Text, 7.01 KB
T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tf0883e@fileTb4b4b4:Te6edf3SuppressTb4b4b4(Ta5d6ff"Ta5d6ffMatchingDeclarationNameTa5d6ff"Tb4b4b4)
Tf0883e@fileTb4b4b4:Te6edf3OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Tff7b72package T7ee787org.meshtastic.core.ui.theme
Tff7b72import T7ee787androidx.compose.foundation.isSystemInDarkTheme
Tff7b72import T7ee787androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
Tff7b72import T7ee787androidx.compose.material3.MaterialExpressiveTheme
Tff7b72import T7ee787androidx.compose.material3.MotionScheme.Companion.expressive
Tff7b72import T7ee787androidx.compose.material3.darkColorScheme
Tff7b72import T7ee787androidx.compose.material3.lightColorScheme
Tff7b72import T7ee787androidx.compose.runtime.Composable
Tff7b72import T7ee787androidx.compose.runtime.Immutable
Tff7b72import T7ee787androidx.compose.runtime.LaunchedEffect
Tff7b72import T7ee787androidx.compose.runtime.remember
Tff7b72import T7ee787androidx.compose.ui.graphics.Color
Tff7b72import T7ee787androidx.compose.ui.platform.LocalFontFamilyResolver
Tff7b72import T7ee787co.touchlab.kermit.Logger
Tff7b72import T7ee787kotlin.coroutines.cancellation.CancellationException
Tff7b72private Tff7b72val Te6edf3lightScheme Tff7b72=
Te6edf3lightColorSchemeTb4b4b4(
Te6edf3primary Tff7b72= Te6edf3primaryLightTb4b4b4,
Te6edf3onPrimary Tff7b72= Te6edf3onPrimaryLightTb4b4b4,
Te6edf3primaryContainer Tff7b72= Te6edf3primaryContainerLightTb4b4b4,
Te6edf3onPrimaryContainer Tff7b72= Te6edf3onPrimaryContainerLightTb4b4b4,
Te6edf3secondary Tff7b72= Te6edf3secondaryLightTb4b4b4,
Te6edf3onSecondary Tff7b72= Te6edf3onSecondaryLightTb4b4b4,
Te6edf3secondaryContainer Tff7b72= Te6edf3secondaryContainerLightTb4b4b4,
Te6edf3onSecondaryContainer Tff7b72= Te6edf3onSecondaryContainerLightTb4b4b4,
Te6edf3tertiary Tff7b72= Te6edf3tertiaryLightTb4b4b4,
Te6edf3onTertiary Tff7b72= Te6edf3onTertiaryLightTb4b4b4,
Te6edf3tertiaryContainer Tff7b72= Te6edf3tertiaryContainerLightTb4b4b4,
Te6edf3onTertiaryContainer Tff7b72= Te6edf3onTertiaryContainerLightTb4b4b4,
Te6edf3error Tff7b72= Te6edf3errorLightTb4b4b4,
Te6edf3onError Tff7b72= Te6edf3onErrorLightTb4b4b4,
Te6edf3errorContainer Tff7b72= Te6edf3errorContainerLightTb4b4b4,
Te6edf3onErrorContainer Tff7b72= Te6edf3onErrorContainerLightTb4b4b4,
Te6edf3background Tff7b72= Te6edf3backgroundLightTb4b4b4,
Te6edf3onBackground Tff7b72= Te6edf3onBackgroundLightTb4b4b4,
Te6edf3surface Tff7b72= Te6edf3surfaceLightTb4b4b4,
Te6edf3onSurface Tff7b72= Te6edf3onSurfaceLightTb4b4b4,
Te6edf3surfaceVariant Tff7b72= Te6edf3surfaceVariantLightTb4b4b4,
Te6edf3onSurfaceVariant Tff7b72= Te6edf3onSurfaceVariantLightTb4b4b4,
Te6edf3outline Tff7b72= Te6edf3outlineLightTb4b4b4,
Te6edf3outlineVariant Tff7b72= Te6edf3outlineVariantLightTb4b4b4,
Te6edf3scrim Tff7b72= Te6edf3scrimLightTb4b4b4,
Te6edf3inverseSurface Tff7b72= Te6edf3inverseSurfaceLightTb4b4b4,
Te6edf3inverseOnSurface Tff7b72= Te6edf3inverseOnSurfaceLightTb4b4b4,
Te6edf3inversePrimary Tff7b72= Te6edf3inversePrimaryLightTb4b4b4,
Te6edf3surfaceDim Tff7b72= Te6edf3surfaceDimLightTb4b4b4,
Te6edf3surfaceBright Tff7b72= Te6edf3surfaceBrightLightTb4b4b4,
Te6edf3surfaceContainerLowest Tff7b72= Te6edf3surfaceContainerLowestLightTb4b4b4,
Te6edf3surfaceContainerLow Tff7b72= Te6edf3surfaceContainerLowLightTb4b4b4,
Te6edf3surfaceContainer Tff7b72= Te6edf3surfaceContainerLightTb4b4b4,
Te6edf3surfaceContainerHigh Tff7b72= Te6edf3surfaceContainerHighLightTb4b4b4,
Te6edf3surfaceContainerHighest Tff7b72= Te6edf3surfaceContainerHighestLightTb4b4b4,
Tb4b4b4)
Tff7b72private Tff7b72val Te6edf3darkScheme Tff7b72=
Te6edf3darkColorSchemeTb4b4b4(
Te6edf3primary Tff7b72= Te6edf3primaryDarkTb4b4b4,
Te6edf3onPrimary Tff7b72= Te6edf3onPrimaryDarkTb4b4b4,
Te6edf3primaryContainer Tff7b72= Te6edf3primaryContainerDarkTb4b4b4,
Te6edf3onPrimaryContainer Tff7b72= Te6edf3onPrimaryContainerDarkTb4b4b4,
Te6edf3secondary Tff7b72= Te6edf3secondaryDarkTb4b4b4,
Te6edf3onSecondary Tff7b72= Te6edf3onSecondaryDarkTb4b4b4,
Te6edf3secondaryContainer Tff7b72= Te6edf3secondaryContainerDarkTb4b4b4,
Te6edf3onSecondaryContainer Tff7b72= Te6edf3onSecondaryContainerDarkTb4b4b4,
Te6edf3tertiary Tff7b72= Te6edf3tertiaryDarkTb4b4b4,
Te6edf3onTertiary Tff7b72= Te6edf3onTertiaryDarkTb4b4b4,
Te6edf3tertiaryContainer Tff7b72= Te6edf3tertiaryContainerDarkTb4b4b4,
Te6edf3onTertiaryContainer Tff7b72= Te6edf3onTertiaryContainerDarkTb4b4b4,
Te6edf3error Tff7b72= Te6edf3errorDarkTb4b4b4,
Te6edf3onError Tff7b72= Te6edf3onErrorDarkTb4b4b4,
Te6edf3errorContainer Tff7b72= Te6edf3errorContainerDarkTb4b4b4,
Te6edf3onErrorContainer Tff7b72= Te6edf3onErrorContainerDarkTb4b4b4,
Te6edf3background Tff7b72= Te6edf3backgroundDarkTb4b4b4,
Te6edf3onBackground Tff7b72= Te6edf3onBackgroundDarkTb4b4b4,
Te6edf3surface Tff7b72= Te6edf3surfaceDarkTb4b4b4,
Te6edf3onSurface Tff7b72= Te6edf3onSurfaceDarkTb4b4b4,
Te6edf3surfaceVariant Tff7b72= Te6edf3surfaceVariantDarkTb4b4b4,
Te6edf3onSurfaceVariant Tff7b72= Te6edf3onSurfaceVariantDarkTb4b4b4,
Te6edf3outline Tff7b72= Te6edf3outlineDarkTb4b4b4,
Te6edf3outlineVariant Tff7b72= Te6edf3outlineVariantDarkTb4b4b4,
Te6edf3scrim Tff7b72= Te6edf3scrimDarkTb4b4b4,
Te6edf3inverseSurface Tff7b72= Te6edf3inverseSurfaceDarkTb4b4b4,
Te6edf3inverseOnSurface Tff7b72= Te6edf3inverseOnSurfaceDarkTb4b4b4,
Te6edf3inversePrimary Tff7b72= Te6edf3inversePrimaryDarkTb4b4b4,
Te6edf3surfaceDim Tff7b72= Te6edf3surfaceDimDarkTb4b4b4,
Te6edf3surfaceBright Tff7b72= Te6edf3surfaceBrightDarkTb4b4b4,
Te6edf3surfaceContainerLowest Tff7b72= Te6edf3surfaceContainerLowestDarkTb4b4b4,
Te6edf3surfaceContainerLow Tff7b72= Te6edf3surfaceContainerLowDarkTb4b4b4,
Te6edf3surfaceContainer Tff7b72= Te6edf3surfaceContainerDarkTb4b4b4,
Te6edf3surfaceContainerHigh Tff7b72= Te6edf3surfaceContainerHighDarkTb4b4b4,
Te6edf3surfaceContainerHighest Tff7b72= Te6edf3surfaceContainerHighestDarkTb4b4b4,
Tb4b4b4)
Tf0883e@Immutable
Tff7b72data Tff7b72class T56d364ColorFamilyTb4b4b4(Tff7b72val Te6edf3colorTb4b4b4: Te6edf3ColorTb4b4b4, Tff7b72val Te6edf3onColorTb4b4b4: Te6edf3ColorTb4b4b4, Tff7b72val Te6edf3colorContainerTb4b4b4: Te6edf3ColorTb4b4b4, Tff7b72val Te6edf3onColorContainerTb4b4b4: Te6edf3ColorTb4b4b4)
Tff7b72val Te6edf3unspecified_scheme Tff7b72= Te6edf3ColorFamilyTb4b4b4(Te6edf3ColorTb4b4b4.Te6edf3UnspecifiedTb4b4b4, Te6edf3ColorTb4b4b4.Te6edf3UnspecifiedTb4b4b4, Te6edf3ColorTb4b4b4.Te6edf3UnspecifiedTb4b4b4, Te6edf3ColorTb4b4b4.Te6edf3UnspecifiedTb4b4b4)
Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalMaterial3ExpressiveApiTff7b72::Te6edf3classTb4b4b4)
Tf0883e@Composable
Tff7b72fun Td2a8ffAppThemeTb4b4b4(
Te6edf3darkThemeTb4b4b4: Tffa657Boolean Tff7b72= Te6edf3isSystemInDarkThemeTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3dynamicColorTb4b4b4: Tffa657Boolean Tff7b72= Tff7b72trueTb4b4b4,
Te6edf3contentTb4b4b4:
Tf0883e@ComposableTb4b4b4(Tb4b4b4)
Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3colorScheme Tff7b72=
Tff7b72if Tb4b4b4(Te6edf3dynamicColorTb4b4b4) Tb4b4b4{
Te6edf3dynamicColorSchemeTb4b4b4(Te6edf3darkThemeTb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72null
Tb4b4b4} Tff7b72?: Tff7b72if Tb4b4b4(Te6edf3darkThemeTb4b4b4) Te6edf3darkScheme Tff7b72else Te6edf3lightScheme
T8b949e// When a device is on event firmware (and the event theme isn't opted out), swap the whole typescale to the event
T8b949e// typeface. Null everywhere else (desktop, F-Droid, non-event, opted out) → default typography.
Tff7b72val Te6edf3eventFonts Tff7b72= Te6edf3LocalEventThemeTb4b4b4.Te6edf3currentTff7b72?.Te6edf3fonts
Tff7b72val Te6edf3typography Tff7b72= Te6edf3rememberTb4b4b4(Te6edf3eventFontsTb4b4b4) Tb4b4b4{ Te6edf3eventFontsTff7b72?.Te6edf3let Tb4b4b4{ Te6edf3AppTypographyTb4b4b4.Te6edf3withEventFontsTb4b4b4(Tffa657itTb4b4b4) Tb4b4b4} Tff7b72?: Te6edf3AppTypography Tb4b4b4}
T8b949e// Downloadable (Google) fonts referenced only through the theme's Typography are NOT auto-fetched during text
T8b949e// layout — Compose silently renders the fallback. Preloading them into the font cache is the documented way to make
T8b949e// them actually apply; once cached, the themed Text re-resolves to the real typeface. No-op when there are no event
T8b949e// fonts (desktop / F-Droid / non-event / opted out).
Tff7b72val Te6edf3fontResolver Tff7b72= Te6edf3LocalFontFamilyResolverTb4b4b4.Te6edf3current
Te6edf3LaunchedEffectTb4b4b4(Te6edf3eventFontsTb4b4b4, Te6edf3fontResolverTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3fonts Tff7b72= Te6edf3eventFonts Tff7b72?: Tff7b72returnTf0883e@LaunchedEffect
Te6edf3listOfNotNullTb4b4b4(Te6edf3fontsTb4b4b4.Te6edf3headingTb4b4b4, Te6edf3fontsTb4b4b4.Te6edf3bodyTb4b4b4)Tb4b4b4.Te6edf3forEach Tb4b4b4{ Te6edf3family Tff7b72-Tff7b72>
Tff7b72try Tb4b4b4{
Te6edf3fontResolverTb4b4b4.Te6edf3preloadTb4b4b4(Te6edf3familyTb4b4b4)
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4: Te6edf3CancellationExceptionTb4b4b4) Tb4b4b4{
Tff7b72throw Te6edf3e T8b949e// preload suspends; never swallow structured-concurrency cancellation
Tb4b4b4} Tff7b72catch Tb4b4b4(Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffTooGenericExceptionCaughtTa5d6ff"Tb4b4b4) Te6edf3eTb4b4b4: Te6edf3ExceptionTb4b4b4) Tb4b4b4{
Te6edf3LoggerTb4b4b4.Te6edf3wTb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{ Ta5d6ff"Ta5d6ffEvent font preload failed for Tffd700$Te6edf3familyTa5d6ff; falling back to the default typefaceTa5d6ff" Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Te6edf3MaterialExpressiveThemeTb4b4b4(Te6edf3colorScheme Tff7b72= Te6edf3colorSchemeTb4b4b4, Te6edf3typography Tff7b72= Te6edf3typographyTb4b4b4, Te6edf3motionScheme Tff7b72= Te6edf3expressiveTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3contentTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tff7b72const Tff7b72val Te6edf3MODE_DYNAMIC Tff7b72= T79c0ff6T79c0ff9T79c0ff6T79c0ff9T79c0ff4T79c0ff2T79c0ff0
Served by rngit 1.5.0 - Generated in 0.08s